This application is an improvement upon copending U.S. patent application Ser. No. 09/267,843, filed Mar. 12, 1999, by F. K. P. Klassen and R. M. Silverman, entitled “SYSTEM AND METHOD FOR ANALYZING AND TUNING A COMMUNICATIONS NETWORK”, and Ser. No. 09/452,403 filed Dec. 1, 1999 by K. Chan, F. K. P. Klassen, and R. M. Silverman for “System and Method for Monitoring Performance, Analyzing Capacity and Utilization, and Planning Capacity for Networks and Intelligent, Network Connected Processes”.
1. Technical Field of the Invention
This invention relates to testing and analyzing a communications network. More particularly, the invention relates to determining throughput speed and streaming utilization.
2. Background Art
Users and managers of communications networks are interested in the capacity, performance, reliability, availability, topology, service level attainment, and modeling of their networks. Currently, many separate, incompatible, complicated, and often unsatisfactory tools are required to perform the tasks required by network managers.
One prior art technique provides for communication system analysis in which sequences of pings of different sizes are sent, transmitted in isolation from each other, in order to determine characteristics of the network beyond availability of resources and “usual” response time. In accordance with this technique, the best and mean times for the sequences of pings of different lengths are measured, and then the following are geometrically derived via use of the reciprocal of the packet size and bandwidth slope:                the network path's bandwidth,        the network path's propagation delay, and        the network path's queuing time.Further network testing involves sending bursts of pings to determine the loss rate of packets, from which the “internal packet size of the network” can then be determined. By this it is meant that the minimum device buffer size in the transmission path of the network can be discovered. The sending of bursts of pings of decreasing size is also described, the intent of which is to determine if smaller packets are prioritized over larger packets. In this way, the following is determined:        the network path's minimum buffer size (also referred to as “internal packet size”); and        the network's short frame prioritization capability.It is recognized in the art that there will generally be a plurality of network hops between the test station and the remote station, each with its own bandwidth. In these circumstances, taking the reciprocal of the slope of the line as the bandwidth is equivalent to saying that:(1/Bandwidth)=(1/b1+1/b2+. . . 1/bn)where b1, b2, . . . bn are the bandwidths of all the hops in the path. This will produce a bandwidth close to accurate only if there is one hop in the path that is significantly slower than all the others. Where this is not the case, the estimate may be inaccurate because no account is taken of the fact that for a multi-hop path, the intermediate nodes will delay onward transmission of a packet until the whole packet has been received.        
U.S. patent applications Ser. No. 09/267,843 filed Aug. 12, 1999 by F. K. P. Klassen and R. M. Silverman for System and Method for Analyzing and Tuning a Communications Network (Klassen and Silverman), and Ser. No. 09/452,403 filed 1, Dec. 1999 by K. Chan, F. K. P. Klassen, and R. M. Silverman for System and Method for Monitoring Performance, Analyzing Capacity and Utilization, and Planning Capacity for Networks and Intelligent, Network Connected Processes (Chan, Klassen and Silverman) improved upon the then existing art by:                distinguishing between and calculating the values for the streaming and discrete speeds of the network; and        calculating the utilization of that connection.The distinction between the discrete and streaming speeds of a network allows for two accurate measures of network speed across multiple hops, as opposed to the previously known one, potentially inaccurate measure.        
The discrete speed reflects the network's maximum bandwidth for handling “conversational” type transaction traffic, such as query-response. The streaming speed reflects the network's maximum speed for “batch” type traffic, such as file transfers and print. The network's streaming speed can also be referred to as “network throughput bandwidth.”
Thus, probative test packets are transmitted, received and time stamped, and then mathematically analyzed. The result is a system and method in which full network capacity analysis can be performed across networks of any size, including the Internet, and to do so with no need for network documentation or knowledge of network topology or knowledge of capacity of network components.
Prior art methods for determining the streaming speed (the maximum end-to-end speed for file and other batch transfers) include the following.
First, transmission of a large stream of echo (or one way) traffic. The bits transmitted are divided by total transmission time to determine the network's bidirectional (or one way) streaming speed.
Second, transmission of a burst of echo (or one way) traffic. The number of bits transmitted is divided by total transmission time to determine the network's bidirectional (or one way) streaming speed.
Third, transmission of a burst of long packets and a burst of an equal number of short packets. Then, (total long bits in burst minus total short bits in burst) is divided by (long burst transmission time minus short burst transmission time).
By “transmission of a burst of packets,” is meant that a plurality of packets, for example ten packets, is transmitted in as rapid succession as possible. For calculations of network speed, a number of such burst tests or large stream tests are performed. The calculations for (maximum) network speed are then based upon the minimum transmission time experienced, and the calculation for average network speed, useful for utilization measures, is based upon the average transmission time experienced.
Each of these methods for determining streaming speed suffers from certain deficiencies. Unless performed at a time when there is absolutely no traffic anywhere on the connection, transmission of a stream of data interferes with existing user traffic and is interfered with by existing user traffic. In all other cases, such testing is disruptive to the network and the results are rendered inaccurate. On occasion, such testing can be useful in a small, private network. In most large networks, and across the Internet, such testing is both inaccurate and undesirable.
Unlike these streaming techniques, prior art methods for determining network speed derived from burst or discrete speed are not disruptive to the network. However, like the above streaming techniques, they are highly subject to inaccuracy, albeit for a different reason. While large streams of traffic will fill the network, bursts of traffic often will not fill the network, especially over connections that are long or fast. So current testing techniques relying on measuring total transmission and receipt time for a burst, or relying on comparison of transmission and receipt times for bursts of different size packets, will measure both productive and dead time on the network, and will, therefore, arrive at false calculations of network streaming speed. Heretofore, all probative test measure methods for determination of end to end network speed for multihop connections suffered from inaccuracy and, in the case of streaming, disruptiveness as well, especially in large network environments and in Internet connections.
An alternative method for determining streaming speed lies somewhere between bursting and streaming, and is referred to as a complex burst test. In the complex burst test method, a burst of long messages and a burst of short messages are transmitted, and the difference in bits sent is divided by the difference in transmission time in order to determine the streaming speed of the network. This method is accurate only if the bursts fill the network, and is otherwise prone to error. This problem is exacerbated by longer network lengths and faster networks.
It is an object of the invention to provide an improved system and method for network measurement and planning.
It is a further object of the invention to provide an improved method for calculating the streaming speed of a network.
It is a further object of the invention to provide the new concept that in a multihop network, there are two different measures of utilization, namely, streaming utilization and discrete utilization.
It is a further object of the invention to provide an improved method for determining end to end network streaming utilization.
It is a further object of the invention to provide an improved method for tuning a network.
It is a further object of the invention to provide an improved method for estimating the current performance of a network and its future performance under changed conditions (“what-if” scenarios).